package com.ym.medical.domain.entity;

import com.ym.common.constant.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 仅包含消费/退费交易记录对象 consume_details
 *
 * @author ym
 * @date 2020-08-24
 */
@ApiModel("仅包含消费/退费交易记录-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "consume_details")
public class ConsumeDetailsEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 账户主键
	 */
	@ApiModelProperty("账户主键")
	private Long accId;

	/**
	 * 交易单号
	 */
	@ApiModelProperty("交易单号")
	private String tdNo;

	/**
	 * 订单编号
	 */
	@ApiModelProperty("订单编号")
	private String tradeNo;

	/**
	 * 交易明细内容
	 */
	@ApiModelProperty("交易明细内容")
	private String tdBody;

	/**
	 * 交易类型(消费、退费、消费收入、退费支出)
	 */
	@ApiModelProperty("交易类型(消费、退费、消费收入、退费支出)")
	private String tdType;

	/**
	 * 现金流向(收入、支出)
	 */
	@ApiModelProperty("现金流向(收入、支出)")
	private String cashFlow;

	/**
	 * 可空，付款方式( 支付宝、微信、银行卡)
	 */
	@ApiModelProperty("可空，付款方式( 支付宝、微信、银行卡)")
	private String payType;

	/**
	 * 可空，付款账户
	 */
	@ApiModelProperty("可空，付款账户")
	private String payAcc;

	/**
	 * 交易金额
	 */
	@ApiModelProperty("交易金额")
	private BigDecimal tdAmount;

	/**
	 * 平台垫付金额
	 */
	@ApiModelProperty("平台垫付金额")
	private BigDecimal advanceAmount;

	/**
	 * 渠道方手续费
	 */
	@ApiModelProperty("渠道方手续费")
	private BigDecimal otherAmt;

	/**
	 * 交易后账户余额
	 */
	@ApiModelProperty("交易后账户余额 ")
	private BigDecimal aftTdAmount;

	/**
	 * 交易时间
	 */
	@ApiModelProperty("交易时间")
	private Date tdTime;

	/**
	 * 工作室ID
	 */
	@ApiModelProperty("工作室ID")
	private Long studioId;

	/**
	 * 对方账户主键
	 */
	@ApiModelProperty("对方账户主键")
	private Long dfAccId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date createTime;

	/**
	 * 系统出账主键
	 */
	@ApiModelProperty("系统出账主键")
	private Long sysAuditId;

}
